#ifndef MENUSTATE_HPP_
#define MENUSTATE_HPP_

#include "gamestate/GameState.hpp"

#include <CEGUIEventArgs.h>

class PlayState;

namespace CEGUI
{
	class Window;
}

class MenuState : public GameState
{
	public:

		void Init();
		void Run(double);
		void Pause();
		void Resume();
		void Exit();

		bool keyPressed(const OIS::KeyEvent &keyEventRef);
		bool keyReleased(const OIS::KeyEvent &keyEventRef);

		bool mouseMoved(const OIS::MouseEvent &evt);
		bool mousePressed(const OIS::MouseEvent &evt, OIS::MouseButtonID id);
		bool mouseReleased(const OIS::MouseEvent &evt, OIS::MouseButtonID id);

		void setPlayStatePtr(PlayState* ptr) { m_pPlayState = ptr; }
	private:

		bool handleNewGame(const CEGUI::EventArgs& args);
		bool handleHelp(const CEGUI::EventArgs& args);
		bool handleExit(const CEGUI::EventArgs& args);

		CEGUI::Window*				m_pBackgroundStatic;
		PlayState*					m_pPlayState;
};

#endif
